]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
shell_global_set_property_mutable: Remove
authorColin Walters <walters@verbum.org>
Tue, 14 Jun 2011 20:06:31 +0000 (16:06 -0400)
committerColin Walters <walters@verbum.org>
Mon, 20 Jun 2011 21:58:40 +0000 (17:58 -0400)
All introspection properties are now writable;
See https://bugzilla.gnome.org/show_bug.cgi?id=646633

https://bugzilla.gnome.org/show_bug.cgi?id=652597

js/ui/environment.js
src/shell-global.c
src/shell-global.h

index 93c6b39b6e272af8ac2dba940606164356c39baa..d499219aa1ab77e5627afc26fa2ae77d975e5148 100644 (file)
@@ -70,12 +70,6 @@ function init() {
             return base;
     };
 
-    // Now close the back door to prevent extensions from trying to
-    // abuse it. We can't actually delete it since
-    // Shell.Global.prototype itself is read-only.
-    global.set_property_mutable('imports.gi.Shell.Global.prototype', 'set_property_mutable', true);
-    Shell.Global.prototype.set_property_mutable = undefined;
-
     // Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
     Date.prototype.toLocaleFormat = function(format) {
         return Shell.util_format_date(format, this.getTime());
index 84b35db7545f17ff02344a9255582ec506846f59..ceb3078fc235b72b5efac32e4102d6259bf2c259 100644 (file)
@@ -1482,73 +1482,6 @@ shell_global_create_app_launch_context (ShellGlobal *global)
   return (GAppLaunchContext *)context;
 }
 
-/**
- * shell_global_set_property_mutable:
- * @global: the #ShellGlobal
- * @object: the "path" to a JS object, starting from the root object.
- *  (Eg, "global.stage" or "imports.gi.Gtk.Window.prototype")
- * @property: a property on @object
- * @mutable: %TRUE or %FALSE
- *
- * If @mutable is %TRUE, this clears the "permanent" and "readonly" flags
- * on @property of @object. If @mutable is %FALSE, it sets them.
- *
- * You can use this to make it possible to modify properties that
- * would otherwise be read-only from JavaScript.
- *
- * Return value: success or failure.
- */
-gboolean
-shell_global_set_property_mutable (ShellGlobal *global,
-                                   const char  *object,
-                                   const char  *property,
-                                   gboolean     mutable)
-{
-  JSContext *context = gjs_context_get_native_context (global->js_context);
-  char **parts;
-  JSObject *obj;
-  jsval val = JSVAL_VOID;
-  int i;
-  jsuint attrs;
-  JSBool found;
-
-  JS_BeginRequest (context);
-  JS_AddValueRoot (context, &val);
-
-  parts = g_strsplit (object, ".", -1);
-  obj = JS_GetGlobalObject (context);
-  for (i = 0; parts[i]; i++)
-    {
-      if (!JS_GetProperty (context, obj, parts[i], &val))
-        {
-          g_strfreev (parts);
-          goto out_error;
-        }
-      obj = JSVAL_TO_OBJECT (val);
-    }
-  g_strfreev (parts);
-
-  if (!JS_GetPropertyAttributes (context, obj, property, &attrs, &found) || !found)
-    goto out_error;
-
-  if (mutable)
-    attrs &= ~(JSPROP_PERMANENT | JSPROP_READONLY);
-  else
-    attrs |= (JSPROP_PERMANENT | JSPROP_READONLY);
-
-  if (!JS_SetPropertyAttributes (context, obj, property, attrs, &found))
-    goto out_error;
-
-  JS_RemoveValueRoot (context, &val);
-  JS_EndRequest (context);
-  return TRUE;
- out_error:
-  gjs_log_exception (context, NULL);
-  JS_RemoveValueRoot (context, &val);
-  JS_EndRequest (context);
-  return FALSE;
-}
-
 typedef struct
 {
   ShellLeisureFunction func;
index d6f4c33a7e5c614ef31c013f64aed1fa2546910d..7c1c7bb83834d039161a0f993457378d8a657002 100644 (file)
@@ -105,12 +105,6 @@ void     shell_global_get_memory_info      (ShellGlobal     *global,
                                             ShellMemoryInfo *meminfo);
 
 
-gboolean shell_global_set_property_mutable (ShellGlobal *global,
-                                            const char  *object,
-                                            const char  *property,
-                                            gboolean     mutable);
-
-
 /* Run-at-leisure API */
 void shell_global_begin_work     (ShellGlobal          *global);
 void shell_global_end_work       (ShellGlobal          *global);